<?php
namespace Wap\Controller;
class OrderController extends CommonController{
	
	public function pay(){
		$order_sn = $this->_get('order_sn','您的操作有误！');
		$info = D('Order')->info($order_sn);
		if(!$info){
			$this->error('对不起，您的操作有误！');
		}
		//判断是否可以支付
		if($info['status'] != 'wait_pay'){
			$this->error('此订单状态不能支付[' . $info['status'] . ']！');
		}

		$this->assign('info', $info);
		$this->assign('order_sn', $order_sn);
		$this->display();
	}

	//获取微信支付的JS调用参数
	public function get_weixin_pay_params(){
		if(!$this->weixin_openid){
			$jumpurl = U('Login/weixin', array('is_weixin_pay'=>1));
			$this->error('获取微信用户信息失败！', $jumpurl);
		}
		$order_sn = $this->_get('order_sn','您的操作有误！');
		$info = D('Order')->info($order_sn);
		if(!$info){
			$this->error('对不起，您的操作有误！');
		}
		//判断是否可以支付
		if($info['status'] != 'wait_pay'){
			$this->error('此订单状态不能支付！');
		}
		//订单标题
		$order_title  = '购买：' . $info['title'];
		$order_sn     = $info['order_sn'];
		$order_amount = $info['order_amount'];

		// 支付配置
		$pay_config = D('Config')->get('', 'pay');
		$appid     = $pay_config['weixin_web_appid'];
		$mchid     = $pay_config['weixin_web_mchid'];
		$app_key   = $pay_config['weixin_web_key'];
		$appsecret = $pay_config['weixin_web_appsecret'];
		$cert_path = D('File')->get_file_info($pay_config['weixin_cert_file'], 'filepath');
		$key_path  = D('File')->get_file_info($pay_config['weixin_key_file'], 'filepath');

		import("WeixinPay", 'Public/Class/Pay/WxPay');
		$weixin_pay = new \WeixinPay($appid, $mchid, $app_key, $appsecret, $cert_path, $key_path);
		//支付回调地址
		$weixin_pay->notify_url = U('WxPay/notify_url');
		//微信用户的OPENID
		$weixin_pay->openid     = $this->weixin_openid;

		$pay_data = $weixin_pay->get_js_pay_call($order_sn, $order_title, $order_amount);
		if($pay_data){
			$this->success('获取微信支付信息成功！', '', $pay_data);
		}else{
			$this->error('获取微信支付信息失败！');
		}
	}
}